/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Application.Elements;
import Application.SkeletonHelper;
/**
 * Gombot megvalosito osztaly.
 * Nem lehet bemenete.
 * @author Stikmann
 */
public class BTN extends Element{
    /**
     * Ebben a valtozóban taroljuk a konstruktorban megadott alap erteket a 
     * gombnak. Ez a reset() metodushivashoz szukseges.
     */
    private boolean originalValue;
    /**
     * Ezzel a konstruktoral a gombnak lehet alaperteket adni, amire reset()-kor all.
     * @param defaultvalue Az alapertek
     */
    public BTN(boolean defaultvalue){
        SkeletonHelper.methodstart("Constructed "+this.toString()+"("+defaultvalue+")");
        SkeletonHelper.methodend();
        originalValue = defaultvalue;
    }

    /**
     * A gomb mindig elore adott erteket ugyan ki, de a valtozast nyomon kell
     * kovetni. Ha a legutobbi simulate ota valtozott a gomb erteke, vissza
     * kell adni.
     * @return Ha valtozott a kimenet, true, egyebkent false
     */
    public boolean simulate(){
        SkeletonHelper.methodstart(this.toString()+"::simulate()");
        SkeletonHelper.methodend("return: ???");
        return false;
    }

    /**
     * Leellenorzi az elemet. Egy gombnak nem lehet bemenete, ha megis van, hibat
     * ad vissza.
     * @return Ha nincs hiba, null, ha van, a hibauzenet.
     */
    @Override
    public String check(){
        SkeletonHelper.methodstart(this.toString()+"::check()");

        String result=null;
        if (!inputs.isEmpty())
            result="Gombnak nem lehet bemenete.";

        SkeletonHelper.methodend("return: "+result);
        return result;
    }

    /**
     * Alapertekere (amit a konstruktorban adtunk allitja a gomb kimenetet.
     */
    @Override
    public void reset(){
        SkeletonHelper.methodstart(this.toString()+"::reset()");
        SkeletonHelper.methodend();
    }

    /**
     * Beallitja a gomb kimenetet
     * @param mire A kivant kimenet
     */
    public void setErtek(boolean mire){
        SkeletonHelper.methodstart(this.toString()+"::setErtek("+mire+")");
        SkeletonHelper.methodend();
    }
}
